from PublicReference.carry.base import *

等级 = 100 + 5

class 技能0(主动技能):
    名称 = '天诛'
    所在等级 = 15
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(i*1.149*1.085) for i in [0, 492, 552, 615, 674, 733, 791, 851, 912, 971, 1029, 1091, 1149, 1211, 1271, 1327, 1391, 1449, 1505, 1568, 1626, 1687, 1746, 1806, 1867, 1923, 1982, 2046, 2102, 2163, 2223, 2282, 2343, 2401, 2461, 2521, 2582, 2642, 2699, 2758, 2821, 2878, 2940, 2998, 3055, 3119, 3179, 3235, 3295, 3354, 3418, 3475, 3534, 3595, 3654, 3713, 3773, 3830, 3894, 3954, 4010, 4071, 4131, 4193, 4250, 4309, 4370, 4427, 4487, 4550, 4607]]
    攻击次数1 = 2
    data2 = [int(i*1.149*1.085) for i in [0, 2060, 2309, 2559, 2809, 3051, 3303, 3550, 3802, 4048, 4298, 4543, 4794, 5043, 5289, 5538, 5788, 6036, 6286, 6529, 6781, 7028, 7281, 7525, 7776, 8022, 8274, 8520, 8768, 9018, 9268, 9519, 9761, 10014, 10260, 10512, 10758, 11007, 11253, 11503, 11753, 12001, 12248, 12500, 12746, 12996, 13242, 13492, 13740, 13987, 14236, 14486, 14734, 14984, 15230, 15480, 15729, 15979, 16221, 16473, 16723, 16972, 17222, 17467, 17717, 17966, 18217, 18459, 18711, 18958, 19210]]
    攻击次数2 = 1
    CD = 7
    TP成长 = 0.08
    TP上限 = 5

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能1(主动技能):
    名称 = '割喉'
    所在等级 = 15
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(i*1.149*1.085) for i in [0, 1728, 1904, 2079, 2256, 2432, 2605, 2783, 2955, 3133, 3310, 3483, 3659, 3835, 4010, 4185, 4360, 4537, 4714, 4887, 5062, 5238, 5413, 5589, 5767, 5941, 6116, 6290, 6469, 6645, 6817, 6993, 7170, 7345, 7521, 7694, 7869, 8047, 8222, 8398, 8571, 8748, 8924, 9102, 9275, 9450, 9625, 9802, 9978, 10153, 10329, 10503, 10679, 10856, 11032, 11205, 11381, 11556, 11732, 11906, 12083, 12258, 12433, 12612, 12784, 12959, 13135, 13312, 13489, 13661, 13836]]
    攻击次数1 = 1
    data2 = [int(i*1.149*1.085) for i in [0, 864, 952, 1041, 1129, 1217, 1304, 1390, 1479, 1568, 1654, 1741, 1830, 1918, 2005, 2093, 2181, 2267, 2356, 2445, 2530, 2617, 2707, 2795, 2882, 2970, 3057, 3145, 3233, 3323, 3408, 3496, 3584, 3672, 3761, 3849, 3936, 4024, 4111, 4200, 4285, 4376, 4460, 4550, 4639, 4725, 4812, 4899, 4988, 5077, 5163, 5252, 5339, 5427, 5516, 5603, 5691, 5779, 5867, 5953, 6043, 6129, 6217, 6304, 6393, 6480, 6569, 6655, 6743, 6831, 6919]]
    攻击次数2 = 1
    CD = 6
    TP成长 = 0.1
    TP上限 = 5

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能2(被动技能):
    名称 = '暗杀教义'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.185 + 0.015 * self.等级, 5)


class 技能3(主动技能):
    名称 = '夺魂'
    所在等级 = 20
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data = [int(i*1.149*1.085) for i in [0, 1638, 1805, 1971, 2138, 2304, 2470, 2636, 2802, 2970, 3137, 3301, 3467, 3635, 3800, 3966, 4134, 4299, 4466, 4632, 4797, 4965, 5132, 5296, 5463, 5631, 5794, 5962, 6128, 6294, 6461, 6628, 6796, 6960, 7126, 7293, 7458, 7626, 7793, 7957, 8123, 8292, 8457, 8623, 8791, 8955, 9122, 9289, 9454, 9621, 9788, 9952, 10121, 10287, 10451, 10618, 10785, 10951, 11118, 11282, 11447, 11616, 11782, 11950, 12117, 12282, 12449, 12613, 12780, 12948, 13114]]
    攻击次数 = 1
    CD = 3
    TP成长 = 0.1
    TP上限 = 5

    def 等效百分比(self, 武器类型):
        return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率

class 技能4(被动技能):
    名称 = '暗杀之匕首精通'
    所在等级 = 20
    等级上限 = 30
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            if self.等级 <= 20:
                return round(1.0 + 0.015 * self.等级, 5)
            else:
                return round(1.3 + 0.025 * (self.等级 - 20), 5)

    def 物理攻击力倍率(self, 武器类型):
        return self.加成倍率(武器类型)


class 技能5(主动技能):
    名称 = '穿心'
    所在等级 = 25
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(i*1.138*1.085) for i in [0, 2764, 3044, 3327, 3608, 3888, 4170, 4448, 4729, 5010, 5290, 5572, 5852, 6132, 6411, 6694, 6973, 7255, 7534, 7814, 8101, 8378, 8659, 8939, 9221, 9500, 9781, 10060, 10342, 10625, 10904, 11183, 11464, 11744, 12023, 12307, 12588, 12865, 13147, 13426, 13709, 13990, 14271, 14555, 14833, 15113, 15393, 15675, 15952, 16237, 16514, 16796, 17077, 17356, 17639, 17918, 18198, 18477, 18761, 19040, 19320, 19605, 19883, 20165, 20445, 20725, 21006, 21285, 21566, 21847, 22129]]
    攻击次数1 = 1
    data2 = [int(i*1.138*1.085) for i in [0, 1381, 1523, 1664, 1803, 1944, 2085, 2225, 2364, 2505, 2644, 2784, 2927, 3067, 3207, 3347, 3489, 3628, 3766, 3909, 4049, 4188, 4329, 4471, 4610, 4750, 4892, 5031, 5170, 5312, 5449, 5592, 5732, 5875, 6014, 6154, 6294, 6433, 6574, 6714, 6852, 6996, 7136, 7276, 7415, 7556, 7697, 7835, 7977, 8118, 8260, 8398, 8540, 8679, 8818, 8959, 9099, 9238, 9379, 9521, 9660, 9801, 9944, 10083, 10220, 10363, 10503, 10643, 10782, 10924, 11066]]
    攻击次数2 = 1
    CD = 8
    TP成长 = 0.10
    TP上限 = 5

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能6(主动技能):
    名称 = '追命'
    备注 = '背击'
    所在等级 = 30
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data = [int(i*1.149*1.085) for i in [0, 3467, 3817, 4171, 4523, 4874, 5223, 5577, 5928, 6279, 6631, 6984, 7335, 7686, 8039, 8392, 8739, 9092, 9443, 9799, 10150, 10502, 10854, 11204, 11558, 11907, 12259, 12611, 12962, 13314, 13665, 14020, 14369, 14722, 15075, 15423, 15775, 16128, 16481, 16832, 17184, 17535, 17888, 18240, 18591, 18945, 19294, 19646, 19995, 20347, 20702, 21051, 21407, 21754, 22108, 22458, 22810, 23164, 23515, 23867, 24218, 24570, 24920, 25272, 25624, 25976, 26329, 26679, 27032, 27384, 27735]]
    攻击次数 = 1
    # 背击时增加50%
    倍率 = 1.5
    CD = 10
    TP成长 = 0.10
    TP上限 = 5

    def 等效百分比(self, 武器类型):
        return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能7(主动技能):
    名称 = '潜影刺击'
    所在等级 = 35
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(i*1.113*1.085) for i in [0, 1099, 1211, 1323, 1432, 1546, 1658, 1768, 1879, 1992, 2102, 2215, 2326, 2437, 2549, 2660, 2770, 2883, 2997, 3106, 3217, 3331, 3441, 3553, 3667, 3778, 3888, 4000, 4112, 4223, 4335, 4447, 4558, 4670, 4781, 4891, 5004, 5118, 5227, 5338, 5452, 5561, 5672, 5786, 5896, 6009, 6120, 6232, 6343, 6456, 6565, 6679, 6790, 6900, 7012, 7124, 7235, 7347, 7459, 7570, 7682, 7793, 7903, 8016, 8130, 8241, 8351, 8464, 8577, 8685, 8798]]
    攻击次数1 = 2
    data2 = [int(i*1.113*1.085) for i in [0, 5278, 5815, 6348, 6884, 7422, 7958, 8490, 9030, 9566, 10101, 10636, 11172, 11709, 12242, 12778, 13315, 13851, 14385, 14921, 15457, 15994, 16527, 17063, 17600, 18133, 18670, 19206, 19742, 20277, 20812, 21348, 21885, 22420, 22957, 23493, 24029, 24563, 25099, 25635, 26169, 26705, 27242, 27778, 28311, 28848, 29384, 29922, 30454, 30990, 31528, 32061, 32596, 33135, 33670, 34204, 34741, 35277, 35815, 36348, 36884, 37421, 37957, 38491, 39027, 39563, 40098, 40633, 41170, 41706, 42240]]
    攻击次数2 = 1
    CD = 15
    TP成长 = 0.10
    TP上限 = 5

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能8(主动技能):
    名称 = '刃舞'
    所在等级 = 35
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(i*1.141*1.085) for i in [0, 263, 290, 320, 346, 374, 401, 426, 453, 483, 506, 535, 558, 587, 615, 643, 669, 696, 720, 749, 775, 804, 831, 858, 883, 911, 939, 963, 992, 1019, 1044, 1072, 1100, 1124, 1154, 1179, 1206, 1232, 1261, 1284, 1315, 1343, 1368, 1396, 1421, 1447, 1476, 1503, 1529, 1557, 1584, 1609, 1635, 1665, 1689, 1718, 1744, 1770, 1798, 1826, 1852, 1878, 1907, 1932, 1962, 1987, 2014, 2041, 2067, 2092, 2121]]
    攻击次数1 = 2
    data2 = [int(i*1.141*1.085) for i in [0, 4507, 4964, 5422, 5879, 6336, 6793, 7251, 7705, 8162, 8619, 9075, 9533, 9992, 10449, 10905, 11363, 11820, 12277, 12733, 13193, 13650, 14107, 14563, 15021, 15481, 15934, 16391, 16850, 17307, 17763, 18222, 18679, 19135, 19591, 20048, 20507, 20965, 21421, 21878, 22336, 22793, 23249, 23706, 24165, 24621, 25076, 25535, 25990, 26448, 26907, 27364, 27820, 28277, 28736, 29193, 29651, 30108, 30565, 31023, 31476, 31934, 32394, 32852, 33307, 33764, 34221, 34678, 35135, 35595, 36052]]
    攻击次数2 = 1
    CD = 15
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 等效百分比(self, 武器类型):

        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率
    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数1 *= 2 * 0.62 * 1.16
            self.攻击次数2 = 1
        elif x == 1:
            self.攻击次数1 *= 2 * (0.62 * 1.3)
            self.攻击次数2 *= 1.26


class 技能9(主动技能):
    名称 = '影戮'
    所在等级 = 40
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data1 = [int(i*1.141*1.085) for i in [0, 1813, 2001, 2179, 2365, 2552, 2737, 2916, 3101, 3286, 3468, 3654, 3837, 4024, 4204, 4388, 4574, 4758, 4939, 5124, 5310, 5492, 5677, 5863, 6049, 6227, 6412, 6597, 6783, 6962, 7147, 7333, 7519, 7700, 7887, 8072, 8251, 8435, 8620, 8807, 8985, 9171, 9357, 9542, 9721, 9910, 10095, 10274, 10458, 10645, 10830, 11011, 11196, 11380, 11566, 11744, 11932, 12117, 12297, 12481, 12669, 12853, 13035, 13219, 13405, 13592, 13771, 13955, 14141, 14320, 14505]]
    攻击次数1 = 4
    data2 = [int(i*1.141*1.085) for i in [0, 6517, 7182, 7841, 8504, 9164, 9827, 10486, 11150, 11811, 12469, 13132, 13793, 14458, 15116, 15779, 16441, 17098, 17760, 18425, 19084, 19746, 20407, 21069, 21729, 22392, 23055, 23717, 24375, 25036, 25701, 26360, 27022, 27684, 28341, 29005, 29666, 30329, 30989, 31651, 32312, 32971, 33634, 34298, 34960, 35617, 36279, 36942, 37601, 38264, 38927, 39588, 40248, 40909, 41571, 42232, 42893, 43555, 44216, 44877, 45538, 46203, 46862, 47525, 48185, 48847, 49508, 50170, 50831, 51490, 52153]]
    攻击次数2 = 1
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数1 = (4 + 3) * 0.74 * 1.13
            self.攻击次数2 = 1
        elif x == 1:
            self.攻击次数1 = (4 + 3) * 0.74 * 1.26
            self.攻击次数2 = 1


class 技能10(主动技能):
    名称 = '瞬杀'
    备注 = '背击'
    所在等级 = 45
    等级上限 = 60
    学习间隔 = 2
    等级精通 = 50

    data = [int(i*1.151*1.085) for i in [0, 23662, 26063, 28464, 30865, 33268, 35666, 38070, 40468, 42870, 45269, 47672, 50074, 52472, 54872, 57273, 59674, 62075, 64476, 66877, 69273, 71676, 74078, 76478, 78882, 81280, 83679, 86082, 88481, 90883, 93283, 95687, 98084, 100488, 102887, 105288, 107690, 110090, 112491, 114887, 117290, 119691, 122091, 124494, 126895, 129292, 131695, 134095, 136497, 138897, 141300, 143697, 146103, 148501, 150900, 153304, 155703, 158100, 160502, 162905, 165306, 167706, 170109, 172509, 174907, 177308, 179708, 182108, 184511, 186909, 189311]]
    攻击次数 = 1
    CD = 45
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 等效百分比(self, 武器类型):
        return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.2
        elif x == 1:
            self.倍率 *= 1.2 + 0.09


class 技能11(被动技能):
    名称 = '暗杀之心'
    所在等级 = 48
    等级上限 = 40
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            if self.等级 <= 20:
                return round(1.03 + 0.02 * self.等级, 5)
            else:
                return round(1.43 + 0.021 * (self.等级 - 20), 5)


class 技能12(主动技能):
    名称 = '影斩·乱舞'
    所在等级 = 50
    等级上限 = 40
    基础等级 = 12
    data1 = [int(i*1.147*1.085) for i in [0, 1423, 1751, 2082, 2410, 2741, 3070, 3401, 3731, 4060, 4389, 4718, 5049, 5380, 5709, 6039, 6367, 6698, 7028, 7358, 7688, 8016, 8346, 8675, 9006, 9337, 9666, 9996, 10324, 10654, 10985, 11315, 11645, 11973, 12303, 12633, 12963, 13294, 13624, 13952, 14281, 14611, 14942, 15271, 15602, 15932, 16261, 16590, 16920, 17250, 17581, 17909, 18240, 18568, 18899, 19230, 19559, 19888, 20218, 20549, 20877, 21207, 21538, 21866, 22197, 22528, 22856, 23186, 23516, 23845, 24175]]
    攻击次数1 = 21
    data2 = [int(i*1.147*1.085) for i in [0, 22347, 27529, 32710, 37892, 43076, 48256, 53440, 58620, 63804, 68986, 74167, 79350, 84531, 89713, 94896, 100077, 105258, 110442, 115623, 120805, 125987, 131170, 136351, 141533, 146715, 151897, 157081, 162261, 167444, 172627, 177808, 182991, 188172, 193354, 198537, 203718, 208899, 214083, 219264, 224445, 229628, 234809, 239992, 245174, 250355, 255538, 260720, 265902, 271085, 276265, 281449, 286631, 291813, 296993, 302178, 307359, 312540, 317723, 322905, 328086, 333269, 338450, 343632, 348815, 353996, 359179, 364361, 369542, 374725, 379906]]
    # LV3级效果
    攻击次数2 = 1.1
    CD = 145

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能13(主动技能):
    名称 = '绝命飞刃'
    所在等级 = 60
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data1 = [int(i*1.142*1.085) for i in [0, 1445, 1592, 1737, 1886, 2032, 2180, 2324, 2469, 2617, 2765, 2909, 3057, 3203, 3350, 3495, 3643, 3793, 3936, 4085, 4229, 4378, 4523, 4670, 4815, 4963, 5109, 5257, 5403, 5549, 5697, 5845, 5989, 6136, 6284, 6428, 6577, 6720, 6868, 7016, 7161, 7308, 7455, 7601, 7749, 7895, 8040, 8188, 8335, 8482, 8627, 8771, 8921, 9067, 9213, 9359, 9507, 9654, 9800, 9945, 10097, 10240, 10384, 10532, 10681, 10828, 10974, 11120, 11267, 11412, 11560]]
    攻击次数1 = 1
    data2 = [int(i*1.142*1.085) for i in [0, 5781, 6367, 6951, 7540, 8123, 8712, 9298, 9883, 10469, 11055, 11641, 12227, 12815, 13403, 13990, 14575, 15161, 15747, 16332, 16918, 17506, 18093, 18678, 19264, 19849, 20437, 21024, 21610, 22198, 22785, 23369, 23956, 24541, 25127, 25716, 26301, 26890, 27473, 28059, 28645, 29232, 29818, 30405, 30990, 31581, 32164, 32751, 33336, 33924, 34510, 35095, 35681, 36268, 36853, 37440, 38027, 38614, 39202, 39785, 40374, 40960, 41545, 42131, 42719, 43305, 43890, 44476, 45061, 45651, 46236]]
    攻击次数2 = 1
    data3 = [int(i*1.142*1.085) for i in [0, 11560, 12731, 13905, 15076, 16250, 17423, 18594, 19765, 20939, 22113, 23283, 24459, 25631, 26804, 27975, 29150, 30321, 31496, 32667, 33840, 35012, 36183, 37355, 38530, 39704, 40872, 42046, 43222, 44393, 45564, 46739, 47909, 49085, 50256, 51430, 52601, 53772, 54947, 56121, 57293, 58464, 59637, 60808, 61983, 63156, 64330, 65499, 66674, 67847, 69021, 70191, 71363, 72537, 73708, 74883, 76054, 77229, 78400, 79572, 80746, 81922, 83089, 84264, 85436, 86607, 87782, 88955, 90126, 91297, 92472]]
    攻击次数3 = 1
    CD = 30
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数3 = 1 * 1.44
        elif x == 1:
            self.攻击次数3 = 1 * (1.44 + 0.14)


class 技能14(主动技能):
    名称 = '八荒影杀'
    所在等级 = 70
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data1 = [int(i*1.14*1.085) for i in [0, 2554, 2813, 3073, 3334, 3593, 3852, 4110, 4371, 4630, 4890, 5147, 5404, 5666, 5924, 6186, 6443, 6701, 6962, 7222, 7481, 7739, 7998, 8257, 8517, 8778, 9035, 9296, 9554, 9814, 10074, 10332, 10590, 10851, 11108, 11372, 11629, 11889, 12147, 12407, 12666, 12922, 13183, 13443, 13702, 13961, 14219, 14481, 14740, 14999, 15258, 15516, 15775, 16035, 16296, 16552, 16813, 17072, 17333, 17591, 17852, 18107, 18368, 18627, 18887, 19145, 19405, 19665, 19924, 20185, 20443]]
    攻击次数1 = 1
    data2 = [int(i*1.14*1.085) for i in [0, 2554, 2813, 3073, 3334, 3593, 3852, 4110, 4371, 4630, 4890, 5147, 5404, 5666, 5924, 6186, 6443, 6701, 6962, 7222, 7481, 7739, 7998, 8257, 8517, 8778, 9035, 9296, 9554, 9814, 10074, 10332, 10590, 10851, 11108, 11372, 11629, 11889, 12147, 12407, 12666, 12922, 13183, 13443, 13702, 13961, 14219, 14481, 14740, 14999, 15258, 15516, 15775, 16035, 16296, 16552, 16813, 17072, 17333, 17591, 17852, 18107, 18368, 18627, 18887, 19145, 19405, 19665, 19924, 20185, 20443]]
    攻击次数2 = 8
    data3 = [int(i*1.14*1.085) for i in [0, 10221, 11257, 12296, 13329, 14368, 15407, 16441, 17479, 18516, 19553, 20591, 21625, 22664, 23700, 24735, 25775, 26811, 27847, 28885, 29920, 30959, 31995, 33032, 34069, 35109, 36143, 37181, 38218, 39253, 40292, 41331, 42365, 43403, 44437, 45476, 46515, 47548, 48587, 49623, 50660, 51697, 52733, 53772, 54808, 55845, 56883, 57916, 58955, 59992, 61028, 62066, 63103, 64139, 65175, 66214, 67251, 68287, 69325, 70361, 71400, 72435, 73473, 74510, 75543, 76582, 77621, 78657, 79693, 80729, 81766]]
    攻击次数3 = 1
    CD = 45.0
    攻击倍率 = 1.11
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数1 = 1 * 2.46
            self.攻击次数2 = (8 - 1) * 1.476  # bug
            self.攻击次数3 = 1 * 1.23
        elif x == 1:
            self.攻击次数1 = 1 * (2.46 + 0.15)
            self.攻击次数2 = (8 - 1) * (1.23 + 0.09) * 1.2  # 1.2为bug加成
            self.攻击次数3 = 1 * (1.23 + 0.09)


class 技能15(主动技能):
    名称 = '死亡连舞'
    备注 = '不可抓取'
    所在等级 = 75
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data1 = [int(i*1.14*1.085) for i in [0, 2953, 3251, 3552, 3849, 4149, 4448, 4747, 5048, 5346, 5647, 5946, 6245, 6543, 6843, 7142, 7441, 7744, 8040, 8344, 8638, 8938, 9237, 9540, 9839, 10139, 10439, 10737, 11035, 11335, 11635, 11934, 12234, 12532, 12833, 13130, 13432, 13729, 14031, 14329, 14629, 14928, 15227, 15526, 15826, 16128, 16424, 16726, 17023, 17327, 17622, 17923, 18222, 18521, 18819, 19121, 19421, 19719, 20020, 20318, 20617, 20917, 21216, 21516, 21815, 22115, 22413, 22712, 23012, 23312, 23611]]
    攻击次数1 = 3
    data2 = [int(i*1.14*1.085) for i in [0, 34984, 38537, 42083, 45632, 49180, 52729, 56281, 59828, 63377, 66930, 70482, 74027, 77577, 81125, 84674, 88227, 91773, 95324, 98869, 102420, 105967, 109518, 113063, 116620, 120167, 123718, 127263, 130815, 134365, 137911, 141464, 145012, 148561, 152108, 155658, 159207, 162753, 166303, 169855, 173409, 176959, 180506, 184054, 187602, 191152, 194703, 198249, 201801, 205345, 208898, 212444, 215994, 219545, 223097, 226649, 230196, 233745, 237291, 240843, 244391, 247940, 251490, 255040, 258588, 262133, 265684, 269235, 272782, 276335, 279888]]
    攻击次数2 = 1
    CD = 40.0
    是否有护石 = 1

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数2 *= (1.2 + 0.2)
            self.CD *= 0.9


class 技能16(被动技能):
    名称 = '潜行暗杀'
    所在等级 = 75
    等级上限 = 20
    基础等级 = 11

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能17(主动技能):
    名称 = '剜心'
    备注 = '背击'
    所在等级 = 80
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data = [int(i*1.141*1.085) for i in [0, 75332, 82973, 90617, 98256, 105900, 113543, 121188, 128829, 136468, 144114, 151755, 159399, 167044, 174686, 182325, 189971, 197610, 205255, 212897, 220538, 228181, 235822, 243467, 251110, 258748, 266392, 274035, 281677, 289321, 296964, 304604, 312246, 319889, 327532, 335174, 342818, 350460, 358103, 365747, 373390, 381030, 388673, 396315, 403958, 411598, 419240, 426884, 434525, 442170, 449812, 457452, 465097, 472739, 480384, 488028, 495665, 503308, 510952, 518595, 526239, 533878, 541519, 549164, 556806, 564449, 572090, 579732, 587374, 595021, 602661]]
    CD = 45
    是否有护石 = 1

    def 等效百分比(self, 武器类型):
        return self.data[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率

    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.24


class 技能18(主动技能):
    名称 = '锁链'
    所在等级 = 85
    等级上限 = 1
    #学习间隔 = 5
    #等级精通 = 30
    基础等级 = 1
    data1 = [int(i*1.141*1.085) for i in [0, 2823, 3110, 3396, 3683, 3970, 4257, 4543, 4829, 5116, 5402, 5689, 5975, 6262, 6548, 6835, 7121, 7407, 7694, 7980, 8267, 8553, 8840, 9126, 9414, 9700, 9987, 10273, 10559, 10846, 11132, 11419, 11705, 11992, 12278, 12565, 12851, 13137, 13424, 13710, 13997, 14283, 14570, 14857, 15144, 15430, 15717, 16003, 16289, 16576, 16862, 17149, 17435, 17722, 18008, 18295, 18581, 18867, 19154, 19440, 19727, 20013, 20301, 20587, 20874, 21160, 21447, 21733, 22019, 22306, 22592]]
    攻击次数1 = 1
    data2 = [int(i*1.141*1.085) for i in [0, 11295, 12441, 13587, 14732, 15878, 17024, 18170, 19316, 20462, 21608, 22754, 23900, 25046, 26191, 27337, 28483, 29629, 30776, 31921, 33067, 34213, 35359, 36505, 37650, 38796, 39942, 41089, 42235, 43380, 44526, 45672, 46818, 47963, 49109, 50255, 51401, 52548, 53693, 54839, 55985, 57131, 58277, 59422, 60568, 61714, 62861, 64007, 65152, 66298, 67444, 68590, 69736, 70881, 72027, 73174, 74320, 75466, 76611, 77757, 78903, 80049, 81195, 82340, 83487, 84633, 85779, 86925, 88070, 89216, 90362]]
    攻击次数2 = 1
    CD = 1

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能19(主动技能):
    名称 = '幽冥链狱：索命'
    备注 = '(不可抓取)'
    所在等级 = 85
    等级上限 = 40
    学习间隔 = 5
    等级精通 = 30

    data1 = [int(i*1.141*1.085) for i in [0, 2823, 3110, 3396, 3683, 3970, 4257, 4543, 4829, 5116, 5402, 5689, 5975, 6262, 6548, 6835, 7121, 7407, 7694, 7980, 8267, 8553, 8840, 9126, 9414, 9700, 9987, 10273, 10559, 10846, 11132, 11419, 11705, 11992, 12278, 12565, 12851, 13137, 13424, 13710, 13997, 14283, 14570, 14857, 15144, 15430, 15717, 16003, 16289, 16576, 16862, 17149, 17435, 17722, 18008, 18295, 18581, 18867, 19154, 19440, 19727, 20013, 20301, 20587, 20874, 21160, 21447, 21733, 22019, 22306, 22592]]
    攻击次数1 = 1
    #data2 = [0, 10686, 11770, 12854, 13938, 15022, 16106, 17190, 18274, 19359, 20443, 21527, 22611, 23695, 24779, 25863,26947, 28031, 29116, 30200, 31284, 32368, 33452, 34536, 35620, 36704, 37788, 38873, 39957, 41041, 42125,43209, 44293, 45377, 46461, 47545, 48629, 49714, 50798, 51882, 52966, 54050, 55134, 56218, 57302, 58386,59471, 60555, 61639, 62723, 63807, 64891, 65975, 67059, 68143, 69228, 70312, 71396, 72480, 73564, 74648,75732, 76816, 77900, 78985, 80069, 81153, 82237, 83321, 84405, 85489]
    #攻击次数2 = 1
    data2 = [int(i*1.141*1.085) for i in [0, 109028, 134308, 159592, 184871, 210153, 235434, 260721, 286000, 311280, 336563, 361846, 387131, 412409, 437689, 462975, 488254, 513534, 538813, 564101, 589380, 614663, 639945, 665225, 690507, 715788, 741074, 766356, 791635, 816918, 842199, 867480, 892765, 918044, 943329, 968608, 993890, 1019173, 1044454, 1069735, 1095019, 1120300, 1145578, 1170859, 1196144, 1221428, 1246707, 1271990, 1297270, 1322552, 1347837, 1373117, 1398400, 1423680, 1448963, 1474244, 1499525, 1524808, 1550091, 1575371, 1600654, 1625934, 1651219, 1676499, 1701779, 1727063, 1752346, 1777622, 1802909, 1828192, 1853473]]
    攻击次数2 = 1
    CD = 180

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能20(被动技能):
    名称 = '暗影禁忌'
    所在等级 = 95
    等级上限 = 40
    学习间隔 = 3
    等级精通 = 30


    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能21(主动技能):
    名称 = '影缚追魂锁'
    备注 = '背击'
    所在等级 = 95
    等级上限 = 40
    学习间隔 = 2
    等级精通 = 30

    data1 = [int(i*1.15*1.085) for i in [0, 5941, 6544, 7147, 7750, 8353, 8955, 9558, 10161, 10764, 11367, 11970, 12572, 13175, 13778, 14381, 14984, 15586, 16189, 16792, 17395, 17998, 18600, 19203, 19806, 20409, 21012, 21614, 22217, 22820, 23423, 24026, 24628, 25231, 25834, 26437, 27040, 27643, 28245, 28848, 29451, 30054, 30657, 31259, 31862, 32465, 33068, 33671, 34273, 34876, 35479, 36082, 36685, 37287, 37890, 38493, 39096, 39699, 40301, 40904, 41507, 42110, 42713, 43315, 43918, 44521, 45124, 45727, 46330, 46932, 47535]]
    攻击次数1 = 4
    data2 = [int(i*1.15*1.085) for i in [0, 95071, 104716, 114361, 124005, 133650, 143295, 152940, 162585, 172230, 181875, 191520, 201165, 210810, 220455, 230099, 239744, 249389, 259034, 268679, 278324, 287969, 297614, 307259, 316904, 326549, 336193, 345838, 355483, 365128, 374773, 384418, 394063, 403708, 413353, 422998, 432643, 442288, 451932, 461577, 471222, 480867, 490512, 500157, 509802, 519447, 529092, 538737, 548382, 558026, 567671, 577316, 586961, 596606, 606251, 615896, 625541, 635186, 644831, 654476, 664120, 673765, 683410, 693055, 702700, 712345, 721990, 731635, 741280, 750925, 760570]]
    攻击次数2 = 1
    CD = 60.0

    def 等效百分比(self, 武器类型):
        return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率
    # def 等效百分比(self, 武器类型):
    # return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 * self.攻击倍率) * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能22(主动技能):
    名称 = '无间影狱·噬灭'
    所在等级 = 100
    等级上限 = 40
    学习间隔 = 5
    等级精通 = 30

    data1 = [int(i*1.15*1.085) for i in [0, 10454, 12878, 15302, 17726, 20150, 22575, 24999, 27423, 29847, 32271, 34696, 37120, 39544, 41968, 44392, 46816, 49241, 51665, 54089, 56513, 58937, 61362, 63786, 66210, 68634, 71058, 73482, 75907, 78331, 80755, 83179, 85603, 88028, 90452, 92876, 95300, 97724, 100148, 102573, 104997, 107421, 109845, 112269, 114694, 117118, 119542, 121966, 124390, 126814, 129239, 131663, 134087, 136511, 138935, 141360, 143784, 146208, 148632, 151056, 153480, 155905, 158329, 160753, 163177, 165601, 168025, 170450, 172874, 175298, 177722]]
    data2 = [int(i*1.15*1.085) for i in [0, 62725, 77270, 91815, 106360, 120905, 135451, 149996, 164541, 179086, 193631, 208176, 222721, 237266, 251811, 266356, 280901, 295446, 309992, 324537, 339082, 353627, 368172, 382717, 397262, 411807, 426352, 440897, 455442, 469987, 484533, 499078, 513623, 528168, 542713, 557258, 571803, 586348, 600893, 615438, 629983, 644528, 659073, 673619, 688164, 702709, 717254, 731799, 746344, 760889, 775434, 789979, 804524, 819069, 833614, 848160, 862705, 877250, 891795, 906340, 920885, 935430, 949975, 964520, 979065, 993610, 1008155, 1022700, 1037246, 1051791, 1066336]]
    data3 = [int(i*1.15*1.085) for i in [0, 125451, 154541, 183631, 212721, 241811, 270902, 299992, 329082, 358172, 387262, 416352, 445443, 474533, 503623, 532713, 561803, 590893, 619984, 649074, 678164, 707254, 736344, 765434, 794525, 823615, 852705, 881795, 910885, 939975, 969066, 998156, 1027246, 1056336, 1085426, 1114516, 1143606, 1172697, 1201787, 1230877, 1259967, 1289057, 1318147, 1347238, 1376328, 1405418, 1434508, 1463598, 1492688, 1521779, 1550869, 1579959, 1609049, 1638139, 1667229, 1696320, 1725410, 1754500, 1783590, 1812680, 1841770, 1870861, 1899951, 1929041, 1958131, 1987221, 2016311, 2045401, 2074492, 2103582, 2132672]]
    data4 = [int(i*1.15*1.085) for i in [0, 31362, 38635, 45907, 53180, 60452, 67725, 74998, 82270, 89543, 96815, 104088, 111360, 118633, 125905, 133178, 140450, 147723, 154996, 162268, 169541, 176813, 184086, 191358, 198631, 205903, 213176, 220448, 227721, 234993, 242266, 249539, 256811, 264084, 271356, 278629, 285901, 293174, 300446, 307719, 314991, 322264, 329536, 336809, 344082, 351354, 358627, 365899, 373172, 380444, 387717, 394989, 402262, 409534, 416807, 424080, 431352, 438625, 445897, 453170, 460442, 467715, 474987, 482260, 489532, 496805, 504077, 511350, 518623, 525895, 533168]]
    data0 = [data1,data2,data3,data4]
    次数 = [3,1,1,3]
    CD = 290

    关联技能 = ['无']

    def 加成倍率(self, 武器类型):
        return 0.0

    def 等效百分比(self, 武器类型):
        sum = 0
        for i in range(len(self.data0)):
            sum += self.data0[i][self.等级] * self.次数[i]
        return sum * self.倍率 * (1 + self.TP成长 * self.TP等级)

技能列表 = []
i = 0
while i >= 0:
    try:
        tem = eval('技能'+str(i)+'()')
        tem.基础等级计算()
        技能列表.append(tem)
        i += 1
    except:
        i = -1

技能序号 = dict()
for i in range(len(技能列表)):
    技能序号[技能列表[i].名称] = i

一觉序号 = 0
二觉序号 = 0
三觉序号 = 0
for i in 技能列表:
    if i.所在等级 == 50:
        一觉序号 = 技能序号[i.名称]
    if i.所在等级 == 85:
        二觉序号 = 技能序号[i.名称]
    if i.所在等级 == 100:
        三觉序号 = 技能序号[i.名称]

护石选项 = ['无']
for i in 技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        护石选项.append(i.名称)

符文选项 = ['无']
for i in 技能列表:
    if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
        符文选项.append(i.名称)


class 职业属性(角色属性):
    实际名称 = '隐夜·影舞者'
    角色 = '暗夜使者'
    职业 = '影舞者'

    武器选项 = ['匕首']

    类型选择 = ['物理百分比']

    类型 = '物理百分比'
    防具类型 = '皮甲'
    防具精通属性 = ['力量']

    主BUFF = 2.03

    def __init__(self):
        基础属性输入(self)
        self.技能栏 = deepcopy(技能列表)
        self.技能序号 = deepcopy(技能序号)

    def 被动倍率计算(self):
        super().被动倍率计算()
        self.技能栏[self.技能序号['锁链']].等级 = self.技能栏[self.技能序号['幽冥链狱：索命']].等级


class 隐夜·影舞者(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 职业属性()
        self.角色属性A = 职业属性()
        self.角色属性B = 职业属性()
        self.一觉序号 = 一觉序号
        self.二觉序号 = 二觉序号
        self.三觉序号 = 三觉序号
        self.护石选项 = deepcopy(护石选项)
        self.符文选项 = deepcopy(符文选项)

    def 界面(self):
        super().界面()
        self.刃舞hit = MyQComboBox(self.main_frame2)
        for i in range(2, 19):
            self.刃舞hit.addItem('刃舞攻击次数:' + str(i)+' + 终结')
        self.刃舞hit.setCurrentIndex(0)
        self.刃舞hit.resize(200, 20)
        self.刃舞hit.move(325, 505)
        self.刃舞hit.setToolTip('打满为18hit')

        self.职业存档.append(('刃舞hit', self.刃舞hit, 1))

    def 输入属性(self, 属性, x=0):
        super().输入属性(属性, x)
        属性.技能栏[属性.技能序号['刃舞']].攻击次数1 = 2 + self.刃舞hit.currentIndex()
